Vers une programmation fonctionnelle en appel par valeur sur systèmes multi-coeurs : évaluation asynchrone et ramasse-miettes parallèle

نویسنده

  • Luca Saiu
چکیده

Modern multi-core machines are conceived to efficiently execute explicitly parallel assembly programs. Current technology is moving away from instruction-level parallelism, exploitable without changes in the software, toward task-level parallelism requiring modifications in programs. In this context exploiting parallelism entails either exploiting new parallelizing toolchains, or programming in new (higher-level) languages supporting explicit parallelism. In other words exploiting multi-core machines may follow two different routes: changing the programming model or hiding from the user the complexity of this task by delegating to a compiler the parallelization of a higher-level program, preferably in a declarative style. In either case compiled programs must be efficient on such architectures, hence the efficiency of the language runtime support is also central. In particular, when the language is high-level and provides automatic memory management, the garbage collector risks to be the bottleneck limiting the overall performance gain. This paper is an experience report on the association of two softwares which we have implemented, an interpreter for a functional language augmented by a construct for asynchrone computations and a garbage collector for parallel machines. The two tools combined provide the user (be it a human or a compiler), a way to exploit the hardware parallelism of a shared-memory multi-processor machine with a declarative and essentially functional programming style. MOTS-CLÉS : multi-coeur, future, ramasse-miettes, programmation fonctionnelle

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Programmation orientée-agent : évaluation comparative d'outils et environnements

RÉSUMÉ. Cet article propose une évaluation de différents outils de programmation et environnements de développement orientés-agents. L’évaluation se base sur un ensemble de critères déterminés à partir des caractéristiques jugées importantes pour les environnements de développement de systèmes multi-agents. Une justification des caractéristiques et des différents critères est donnée. Une grille...

متن کامل

Synthèse de types pour Bulk Synchronous Parallel ML

Bulk Synchronous Parallel ML ou BSML est une extension de ML pour la programmation fonctionnelle en mode direct d’algorithmes parallèles BSP (Bulk Synchronous Parallelism). Le modèle de programmation parallèle BSP a été introduit par Valiant au début des années 90 [21] afin d’offrir à la fois un haut degré d’abstraction comme les modèles PRAM [4] tout en étant portable et en permettant la prévi...

متن کامل

ReactiveML, un langage fonctionnel pour la programmation réactive

RÉSUMÉ. La programmation de systèmes réactifs tels que les simulateurs de systèmes dynamiques ou les jeux vidéo est une tâche difficile. Les techniques classiques pour programmer ces systèmes sont fondées sur l’utilisation de bibliothèques de threads ou de programmation événementielle. Nous introduisons ici le langage REACTIVEML comme une alternative à ces pratiques. Le langage est une extensio...

متن کامل

Deterministic execution of synchronous programs in an asynchronous environment

Synchronous reactive formalisms form an appealing programming model for embedded system and Systems-on-Chip (SoC) design. Deploying synchronous programs onto asynchronous distributed execution platforms is an important issue, and has been the topic of substantial research in the past. The point is that signal/event absence in a reaction cannot be taken as granted because of communication latenc...

متن کامل

A sparse knapsack algo-tech-cuit and its synthesis

Architectures parallèles, bases de données, réseaux et systèmes distribués Abstract: We systematically derive an improved algorithm (called the sparse algorithm) for the general knapsack problem which has better average case performance than the standard (dense) dynamic programming algorithm. The derivation is based on transformation of the standard recurrences into a stream functional programs...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Stud. Inform. Univ.

دوره 7  شماره 

صفحات  -

تاریخ انتشار 2009